#include "bits/stdc++.h"
using namespace std;
typedef unsigned long long ll;
ll isMin(ll a,ll b){
    if(b==0){
        return 1;
    }
    ll ans = 1;
    while(b){
        if(b%2==1){
        ans *= a;
    }
    a *= a;
    b /= 2;
    }
    return ans;
}
int main(){
    ll a, b;
    cin >> a >> b;
    ll result=isMin(a,b);
     
        cout << result;
}

// #include <bits/stdc++.h>
// using namespace std;
// int a, b;
// unsigned long long ans = 1;
// int main()
// {
//     cin >> a >> b;
//     for (int i = 1; i <= b; i++)
//     {
//         ans = ans * a;
//         ans = ans % 1000;
//     }
//     if (ans < 10)
//         cout << "00" << ans;
//     else if (ans < 100)
//         cout << "0" << ans;
//     else
//         cout << ans;
//     return 0;
// }